package com.hyper_yang.javase.collections.set_collection;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.function.Consumer;

public class TrySet {
    /*
        set: 无序、不重复、无索引  方法基本和 collection的 api一致
        【默认使用】    HashSet: 无序、不重复、无索引       哈希表
            【要求去重和存取有序】    LinkedHashSet: 【有序】、不重复、无索引    -->  存取顺序一致     哈希表 + 双链表(记录添加顺序)
            TreeSet: 【可排序】、不重复、无索引
     */
    public static void main(String[] args) {
        Set<String> s = new HashSet<>();
        boolean flag = s.add("a");
        System.out.println(flag);
        s.add("d");
        s.add("c");
        flag = s.add("a");
        System.out.println(flag); // set 集合 无重复 添加失败
        System.out.println(s); // 存取顺序可能变换  无索引

//        for (String e : s) {
//            System.out.println(e);
//        }

//        Iterator<String> iterator = s.iterator();
//        while (iterator.hasNext()){
//            String next = iterator.next();
//            System.out.println(next);
//        }

        s.forEach(new Consumer<String>() {
            @Override
            public void accept(String s1) {
                System.out.println(s1);
            }
        });
//        s.forEach(s1 -> System.out.println(s1));
    }
}
